/**
 *
 */
package utils;

import java.util.Arrays;


import lombok.Getter;

/**
 * 期限单位
 *
 * @author sunjm13534
 * @version $Id: EnumTermUnit.java, v 1.0 Feb 28, 2017 4:59:09 PM sunjm13534 Exp $
 */
@Getter
public enum EnumTermUnit implements IEnum {
    /** 年 **/
    YEAR("1", "年"),
    /** 月 **/
    MONTH("2", "月"),
    /** 日 **/
    DAY("3", "日"),
    /** 期 */
    TIMES("4", "期"),
    TOTAL("5", "总");

    /** 状态码 **/
    private String code;
    /** 状态描述 **/
    private String description;

    /**
     * 私有构造方法
     *
     * @param code 编码
     * @param description 描述
     **/
    EnumTermUnit(String code, String description) {
        this.code = code;
        this.description = description;
    }

    /**
     * 根据编码查找枚举
     *
     * @param code 编码
     * @return {@link EnumTermUnit} 实例
     **/
    public static EnumTermUnit find(String code) {
        return Arrays.stream(EnumTermUnit.values())
            .filter(input -> input.getCode()
                .equals(code))
            .findFirst()
            .orElse(null);
    }
}
